Postgres-Performance-Tipps

 

Der Optimierer unter Postgres läßt sich uber die Kommandozeile mit

vacuumdb --analyze --verbose -f -d $DBNAME

starten und hilft bei regelmäßiger Anwendung, deshalb empfehlen wir, diesen Befehl als Cronjob jede Nacht oder einmal pro Woche auszuführen.

Beim Start des Postmasters läßt sich das verfügbare RAM zuweisen mit der Option

postmaster ?o "?B 128"

Dabei wird das Shared Memory von (standardmäßig) 64*8192 Bytes auf 128*8192 Bytes erhöht. Auch diese Maßnahme empfehlen wir. Generell sollte man auf Datenbankservern die Hälfte des verfügbaren physischen Rams für Postgres reservieren.

Beispielkonfiguration Postgres-RAM bei DB-Server mit 1 GB RAM unter Suse Linux

in der Datei /etc/init.d/boot.local geben Sie ein:
echo 536870912 > /proc/sys/kernel/shmmax #512 MB RAM für PG
echo 2097152 > /proc/sys/kernel/shmall
echo 2 > /proc/sys/vm/overcommit_memory

Die Parameter lassen sich auch zur Laufzeit aus einer root-Shell setzen. Danach ersetzen Sie in der postgresql.conf die folgenden Parameter:
max_connections = 500
shared_buffers = 16384
max_fsm_pages = 50000
checkpoint_segments = 6
effective_cache_size = 65536

Danach starten Sie Postgres neu.

Diese und weitere Perfomance-Tipps für das jeweilige Betriebssystem finden Sie im PostgreSQL Administrator's Guide im Abschnitt "Run-Time Configuration".

Leider lassen sich Transaktionen für Postgres nicht abschalten, für ein (passives) Berichtssystem wie SuperX wären Transaktionen unbedeutend.

 


Zur Superx-Homepage SuperX ist auch ein CampusSource-Projekt. Zur CampusSource-Homepage | Powered by FreeMarker Seite 33 / 277
Letzter Update: 18.08.2008
Impressum